package com.chat.util;

import cn.hutool.core.io.resource.ClassPathResource;
import cn.hutool.json.JSONUtil;
import com.chat.domain.pojo.User;

import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;

/**
 * @author wb
 * @since 2024-08-13
 */
public class CommonUtil {

    /**
     * 获取url参数
     *
     * @param url 路径
     * @return 用户ID
     */
    public static Integer getUrlParams(String url) {
        if (!url.contains("=")) {
            return null;
        }

        return Integer.parseInt(url.substring(url.indexOf("=") + 1));
    }


    /**
     * 将 User 列表写入 JSON 文件
     *
     * @param users 用户列表
     */
    public static Boolean writeUserToJson(String fileName, List<User> users) {

        try {
            // 获取文件路径
            String filePath = new ClassPathResource(fileName).getAbsolutePath();
            String jsonString = JSONUtil.toJsonStr(users);

            Path path = Paths.get(filePath);

            // 清空文件内容
            Files.write(path, new byte[0]);

            // 写入JSON
            Files.write(path, jsonString.getBytes());

            return true;
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }

}
